package cn.shujuhai.cms.service;

import cn.shujuhai.cms.domain.InfoArticle;
import cn.shujuhai.common.pluging.data.ResultVo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;


/**
 * @Author: zhangDeZhong
 * @Date: 2024/12/5 12:01
 * @Description: 针对表【info_article(文章表)】的数据库操作Service
 **/
public interface InfoArticleService extends IService<InfoArticle> {

    ResultVo<?> getArticlesByTitle(Long channelId, String title, int pageNum, int pageSize);

    ResultVo<?> addArticle(InfoArticle infoArticle);

    ResultVo<?> getContentById(Long articleId);

    ResultVo<?> updateArticle(InfoArticle infoArticle);

    ResultVo<?> removeArticle(Long articleId);

    ResultVo<?> removeBatchArticle(List<Long> articleIds);

    ResultVo<?> updateStatus(Long articleId, Integer status, String reason);

    ResultVo<?> uploadImg(MultipartFile file);

    ResultVo<?> uploadAttachment(MultipartFile file);

    ResultVo<?> getInfoById(Long articleId);

    ResultVo<?> getTotalViewCount();

    ResultVo<?> uploadVideo(MultipartFile file);


    void doPendingArticles();

    ResultVo<?> getArticlesByChannelId(Long channelId);

    ResultVo<?> search_list(String search, int pageNum, int pageSize);

    void countArticleNum(Map<String, String> body);

    ResultVo<?> viewArticleRanking();

    ResultVo<?> getCountArticle(String date);
}
